<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: SystemSharp.Analysis.BasicBlock&lt; Ti &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SystemSharp.Analysis.BasicBlock&lt; Ti &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This class represents a basic block.  
 <a href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for SystemSharp.Analysis.BasicBlock&lt; Ti &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.png" usemap="#SystemSharp.Analysis.BasicBlock&lt; Ti &gt;_map" alt=""/>
  <map id="SystemSharp.Analysis.BasicBlock&lt; Ti &gt;_map" name="SystemSharp.Analysis.BasicBlock&lt; Ti &gt;_map">
<area href="class_system_sharp_1_1_analysis_1_1_m_s_i_l_code_block.html" title="A specialization for basic blocks of CLI methods " alt="SystemSharp.Analysis.MSILCodeBlock" shape="rect" coords="0,112,238,136"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a70f3752c2fd12a65e99524dc66b6729c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a> (int startIndex, int endIndex, ControlFlowGraph&lt; Ti &gt; cfg)</td></tr>
<tr class="memdesc:a70f3752c2fd12a65e99524dc66b6729c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a basic block covering a specific instruction range  <a href="#a70f3752c2fd12a65e99524dc66b6729c">More...</a><br/></td></tr>
<tr class="separator:a70f3752c2fd12a65e99524dc66b6729c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28278ffc6dd03e7a340e639d1dee9f07"><td class="memItemLeft" align="right" valign="top">override string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a28278ffc6dd03e7a340e639d1dee9f07">ToString</a> ()</td></tr>
<tr class="separator:a28278ffc6dd03e7a340e639d1dee9f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07b2c5c44b52665d98b11b8b73a18852"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a07b2c5c44b52665d98b11b8b73a18852">Equals</a> (object obj)</td></tr>
<tr class="memdesc:a07b2c5c44b52665d98b11b8b73a18852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Two basic blocks are defined to be equal iff they belong to the same control-flow graph and cover the same range of instructions.  <a href="#a07b2c5c44b52665d98b11b8b73a18852">More...</a><br/></td></tr>
<tr class="separator:a07b2c5c44b52665d98b11b8b73a18852"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54c70d10ce5125eb299ff875d03e5972"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a54c70d10ce5125eb299ff875d03e5972">GetHashCode</a> ()</td></tr>
<tr class="separator:a54c70d10ce5125eb299ff875d03e5972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fd33548c71adfa89d4cca8efb46e271"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a4fd33548c71adfa89d4cca8efb46e271">CompareTo</a> (<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; other)</td></tr>
<tr class="memdesc:a4fd33548c71adfa89d4cca8efb46e271"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares this basic block to another basic block. The ordering is defined by the indices of their respective first instructions.  <a href="#a4fd33548c71adfa89d4cca8efb46e271">More...</a><br/></td></tr>
<tr class="separator:a4fd33548c71adfa89d4cca8efb46e271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00dd1c800eac73e9fcbc841d79e8eeba"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a00dd1c800eac73e9fcbc841d79e8eeba">BelongsToLoop</a> (<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; header)</td></tr>
<tr class="memdesc:a00dd1c800eac73e9fcbc841d79e8eeba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether this basic block is part of a particular loop  <a href="#a00dd1c800eac73e9fcbc841d79e8eeba">More...</a><br/></td></tr>
<tr class="separator:a00dd1c800eac73e9fcbc841d79e8eeba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad54059581bb0be7c3c52a013eef6ff8d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#ad54059581bb0be7c3c52a013eef6ff8d">Contains</a> (int index)</td></tr>
<tr class="memdesc:ad54059581bb0be7c3c52a013eef6ff8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether this basic block contains a particular instruction  <a href="#ad54059581bb0be7c3c52a013eef6ff8d">More...</a><br/></td></tr>
<tr class="separator:ad54059581bb0be7c3c52a013eef6ff8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a886b4d59386e6bdbcb8ddf8f90b693c7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a886b4d59386e6bdbcb8ddf8f90b693c7">Contains</a> (Ti i)</td></tr>
<tr class="memdesc:a886b4d59386e6bdbcb8ddf8f90b693c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether this basic block containts a particular instruction  <a href="#a886b4d59386e6bdbcb8ddf8f90b693c7">More...</a><br/></td></tr>
<tr class="separator:a886b4d59386e6bdbcb8ddf8f90b693c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770230421053ee8d80cdd39713048020"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a770230421053ee8d80cdd39713048020">IsAncestor</a> (<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; grandChild)</td></tr>
<tr class="memdesc:a770230421053ee8d80cdd39713048020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether this basic block is an ancestor of another block, due to the pre-order traversal tree  <a href="#a770230421053ee8d80cdd39713048020">More...</a><br/></td></tr>
<tr class="separator:a770230421053ee8d80cdd39713048020"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a5597d747f1ee9ac6cc8ba953c3a4c33f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a5597d747f1ee9ac6cc8ba953c3a4c33f">StartIndex</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a5597d747f1ee9ac6cc8ba953c3a4c33f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of first instruction covered by this basic block  <a href="#a5597d747f1ee9ac6cc8ba953c3a4c33f">More...</a><br/></td></tr>
<tr class="separator:a5597d747f1ee9ac6cc8ba953c3a4c33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a054568c8ecb4d624a6be300e35d378a9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a054568c8ecb4d624a6be300e35d378a9">EndIndex</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a054568c8ecb4d624a6be300e35d378a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of last instruction covered by this basic block  <a href="#a054568c8ecb4d624a6be300e35d378a9">More...</a><br/></td></tr>
<tr class="separator:a054568c8ecb4d624a6be300e35d378a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad60f1e3b100f59dae59e65dcd745bb93"><td class="memItemLeft" align="right" valign="top">ControlFlowGraph&lt; Ti &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#ad60f1e3b100f59dae59e65dcd745bb93">Code</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ad60f1e3b100f59dae59e65dcd745bb93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Containing control-flow graph  <a href="#ad60f1e3b100f59dae59e65dcd745bb93">More...</a><br/></td></tr>
<tr class="separator:ad60f1e3b100f59dae59e65dcd745bb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aeb4937fce0d0b2b17cbe7ab4ef74e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a5aeb4937fce0d0b2b17cbe7ab4ef74e0">IsExitBlock</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a5aeb4937fce0d0b2b17cbe7ab4ef74e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block is an exit node  <a href="#a5aeb4937fce0d0b2b17cbe7ab4ef74e0">More...</a><br/></td></tr>
<tr class="separator:a5aeb4937fce0d0b2b17cbe7ab4ef74e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54099b4771f08e3b99dbdde6e1679692"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a54099b4771f08e3b99dbdde6e1679692">IsLoop</a><code> [get]</code></td></tr>
<tr class="memdesc:a54099b4771f08e3b99dbdde6e1679692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block is a loop header  <a href="#a54099b4771f08e3b99dbdde6e1679692">More...</a><br/></td></tr>
<tr class="separator:a54099b4771f08e3b99dbdde6e1679692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27e2c50074ab7d8b4fcf33d067e18583"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a27e2c50074ab7d8b4fcf33d067e18583">IsReachable</a><code> [get]</code></td></tr>
<tr class="memdesc:a27e2c50074ab7d8b4fcf33d067e18583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block is reachable from the entry point  <a href="#a27e2c50074ab7d8b4fcf33d067e18583">More...</a><br/></td></tr>
<tr class="separator:a27e2c50074ab7d8b4fcf33d067e18583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac96e58cf13883f8077e7cc14a2c7b0d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#ac96e58cf13883f8077e7cc14a2c7b0d4">IsCondition</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ac96e58cf13883f8077e7cc14a2c7b0d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block end with a conditional branch  <a href="#ac96e58cf13883f8077e7cc14a2c7b0d4">More...</a><br/></td></tr>
<tr class="separator:ac96e58cf13883f8077e7cc14a2c7b0d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22b1a896f0e0024cf1862bc2456f8881"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a22b1a896f0e0024cf1862bc2456f8881">IsBranch</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a22b1a896f0e0024cf1862bc2456f8881"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block ends with a branch  <a href="#a22b1a896f0e0024cf1862bc2456f8881">More...</a><br/></td></tr>
<tr class="separator:a22b1a896f0e0024cf1862bc2456f8881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbfa7a5a97d1651ee1a549dbf8f3e77c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#abbfa7a5a97d1651ee1a549dbf8f3e77c">IsSwitch</a><code> [get, set]</code></td></tr>
<tr class="memdesc:abbfa7a5a97d1651ee1a549dbf8f3e77c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block ends with a switch (case select) instruction  <a href="#abbfa7a5a97d1651ee1a549dbf8f3e77c">More...</a><br/></td></tr>
<tr class="separator:abbfa7a5a97d1651ee1a549dbf8f3e77c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e0d65fba34e0bec24c8a14ecb82ac7e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a6e0d65fba34e0bec24c8a14ecb82ac7e">IsSwitchTarget</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a6e0d65fba34e0bec24c8a14ecb82ac7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells whether this basic block is directly reachable from a switch (case select) instruction  <a href="#a6e0d65fba34e0bec24c8a14ecb82ac7e">More...</a><br/></td></tr>
<tr class="separator:a6e0d65fba34e0bec24c8a14ecb82ac7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e111ff8d18316a144d1dd53494da5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a87e111ff8d18316a144d1dd53494da5b">Predecessors</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a87e111ff8d18316a144d1dd53494da5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">All predecessors of this basic block  <a href="#a87e111ff8d18316a144d1dd53494da5b">More...</a><br/></td></tr>
<tr class="separator:a87e111ff8d18316a144d1dd53494da5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3754c24b7b0c640000e578aa76499a51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a3754c24b7b0c640000e578aa76499a51">IDom</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a3754c24b7b0c640000e578aa76499a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">The immediate dominator of this basic block  <a href="#a3754c24b7b0c640000e578aa76499a51">More...</a><br/></td></tr>
<tr class="separator:a3754c24b7b0c640000e578aa76499a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a670bdf1c77b9c258deb6f544d4881f37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a670bdf1c77b9c258deb6f544d4881f37">Dominatees</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a670bdf1c77b9c258deb6f544d4881f37"><td class="mdescLeft">&#160;</td><td class="mdescRight">All basic blocks whose immediate dominator is this basic block  <a href="#a670bdf1c77b9c258deb6f544d4881f37">More...</a><br/></td></tr>
<tr class="separator:a670bdf1c77b9c258deb6f544d4881f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf9019a58e1f1c0f4caf17e403bee29"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a0cf9019a58e1f1c0f4caf17e403bee29">PostOrderIndex</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a0cf9019a58e1f1c0f4caf17e403bee29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Post-order index of this basic block  <a href="#a0cf9019a58e1f1c0f4caf17e403bee29">More...</a><br/></td></tr>
<tr class="separator:a0cf9019a58e1f1c0f4caf17e403bee29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bb5bfe894feb982b5a47d73fab546d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a0bb5bfe894feb982b5a47d73fab546d4">PreOrderIndex</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a0bb5bfe894feb982b5a47d73fab546d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pre-order index of this basic block  <a href="#a0bb5bfe894feb982b5a47d73fab546d4">More...</a><br/></td></tr>
<tr class="separator:a0bb5bfe894feb982b5a47d73fab546d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bf8398a40f76af3aaa5d1e8c6e191cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a1bf8398a40f76af3aaa5d1e8c6e191cb">PostOrderParent</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a1bf8398a40f76af3aaa5d1e8c6e191cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The parent of this block in the post-order traversal tree  <a href="#a1bf8398a40f76af3aaa5d1e8c6e191cb">More...</a><br/></td></tr>
<tr class="separator:a1bf8398a40f76af3aaa5d1e8c6e191cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff21c7688ca2d29c06dbcc5f51cb4500"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#aff21c7688ca2d29c06dbcc5f51cb4500">PostOrderChildren</a><code> [get, set]</code></td></tr>
<tr class="memdesc:aff21c7688ca2d29c06dbcc5f51cb4500"><td class="mdescLeft">&#160;</td><td class="mdescRight">The children of this block in the post-order traversal tree  <a href="#aff21c7688ca2d29c06dbcc5f51cb4500">More...</a><br/></td></tr>
<tr class="separator:aff21c7688ca2d29c06dbcc5f51cb4500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5a3a11a9d2d6864c62dde1f0d5d717a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#ad5a3a11a9d2d6864c62dde1f0d5d717a">PreOrderLast</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ad5a3a11a9d2d6864c62dde1f0d5d717a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The last basic block visited during pre-order traversal. See Cooper-Harvey-Kennedy paper for formal definition.  <a href="#ad5a3a11a9d2d6864c62dde1f0d5d717a">More...</a><br/></td></tr>
<tr class="separator:ad5a3a11a9d2d6864c62dde1f0d5d717a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd22ec58d71d9e45597a7c561b0df235"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_system_sharp_1_1_tree_algorithms.html#a42c198b43d26b1f8b998dd6ce93c8d34">ENodeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#abd22ec58d71d9e45597a7c561b0df235">Type</a><code> [get, set]</code></td></tr>
<tr class="memdesc:abd22ec58d71d9e45597a7c561b0df235"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loop header classification due to Havlak's loop analysis algorithm  <a href="#abd22ec58d71d9e45597a7c561b0df235">More...</a><br/></td></tr>
<tr class="separator:abd22ec58d71d9e45597a7c561b0df235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab96b8d8bf58941a1f56d04ba78c829b5"><td class="memItemLeft" align="right" valign="top">HashSet&lt; <a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#ab96b8d8bf58941a1f56d04ba78c829b5">BackPreds</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ab96b8d8bf58941a1f56d04ba78c829b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">As defined in Havlak's paper on loop analysis  <a href="#ab96b8d8bf58941a1f56d04ba78c829b5">More...</a><br/></td></tr>
<tr class="separator:ab96b8d8bf58941a1f56d04ba78c829b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a668fa90ea4a56f57f3a81ef1e79ba458"><td class="memItemLeft" align="right" valign="top">HashSet&lt; <a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a668fa90ea4a56f57f3a81ef1e79ba458">NonBackPreds</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a668fa90ea4a56f57f3a81ef1e79ba458"><td class="mdescLeft">&#160;</td><td class="mdescRight">As defined in Havlak's paper on loop analysis  <a href="#a668fa90ea4a56f57f3a81ef1e79ba458">More...</a><br/></td></tr>
<tr class="separator:a668fa90ea4a56f57f3a81ef1e79ba458"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a875ad973df0908a23ad65b8827748c"><td class="memItemLeft" align="right" valign="top">HashSet&lt; <a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a0a875ad973df0908a23ad65b8827748c">RedBackIn</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a0a875ad973df0908a23ad65b8827748c"><td class="mdescLeft">&#160;</td><td class="mdescRight">As defined in Havlak's paper on loop analysis  <a href="#a0a875ad973df0908a23ad65b8827748c">More...</a><br/></td></tr>
<tr class="separator:a0a875ad973df0908a23ad65b8827748c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae26395b70e723fd9af0f68b9731fe0be"><td class="memItemLeft" align="right" valign="top">HashSet&lt; <a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#ae26395b70e723fd9af0f68b9731fe0be">OtherIn</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ae26395b70e723fd9af0f68b9731fe0be"><td class="mdescLeft">&#160;</td><td class="mdescRight">As defined in Havlak's paper on loop analysis  <a href="#ae26395b70e723fd9af0f68b9731fe0be">More...</a><br/></td></tr>
<tr class="separator:ae26395b70e723fd9af0f68b9731fe0be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491f9d126ee268ef1e11159b41d52a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a491f9d126ee268ef1e11159b41d52a3d">Header</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a491f9d126ee268ef1e11159b41d52a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this basic block is part of a loop, that loop is identified by its header.  <a href="#a491f9d126ee268ef1e11159b41d52a3d">More...</a><br/></td></tr>
<tr class="separator:a491f9d126ee268ef1e11159b41d52a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace9afffdd01600cea179b5f90559baa"><td class="memItemLeft" align="right" valign="top">IList&lt; Ti &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#aace9afffdd01600cea179b5f90559baa">Range</a><code> [get]</code></td></tr>
<tr class="memdesc:aace9afffdd01600cea179b5f90559baa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the instruction range covered by this basic block  <a href="#aace9afffdd01600cea179b5f90559baa">More...</a><br/></td></tr>
<tr class="separator:aace9afffdd01600cea179b5f90559baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa90bb5471752d8d1dae672331bce9af5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#aa90bb5471752d8d1dae672331bce9af5">Successors</a><code> [get]</code></td></tr>
<tr class="memdesc:aa90bb5471752d8d1dae672331bce9af5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all possible direct successors of this basic block  <a href="#aa90bb5471752d8d1dae672331bce9af5">More...</a><br/></td></tr>
<tr class="separator:aa90bb5471752d8d1dae672331bce9af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a221d1802dd014e577fb9951eeae6478d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a221d1802dd014e577fb9951eeae6478d">SuccessorsWithoutSwitchTargets</a><code> [get]</code></td></tr>
<tr class="memdesc:a221d1802dd014e577fb9951eeae6478d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all possible direct successors of this basic block, except for switch targets and the exit block  <a href="#a221d1802dd014e577fb9951eeae6478d">More...</a><br/></td></tr>
<tr class="separator:a221d1802dd014e577fb9951eeae6478d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2686433714befeea54b07462970fbd67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a2686433714befeea54b07462970fbd67">SuccessorsWithoutExitBlock</a><code> [get]</code></td></tr>
<tr class="memdesc:a2686433714befeea54b07462970fbd67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all possible direct successors of this basic block, except for the exit block  <a href="#a2686433714befeea54b07462970fbd67">More...</a><br/></td></tr>
<tr class="separator:a2686433714befeea54b07462970fbd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a485428f35d6f9856fadc63225ad77b4b"><td class="memItemLeft" align="right" valign="top">static IGraphAdapter<br class="typebreak"/>
&lt; <a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a485428f35d6f9856fadc63225ad77b4b">LoopAnalysisAdapter</a><code> [get]</code></td></tr>
<tr class="memdesc:a485428f35d6f9856fadc63225ad77b4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">An adapter suitable for loop nesting analysis  <a href="#a485428f35d6f9856fadc63225ad77b4b">More...</a><br/></td></tr>
<tr class="separator:a485428f35d6f9856fadc63225ad77b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9853dbb126509c8322522f73033cefe8"><td class="memItemLeft" align="right" valign="top">static IGraphAdapter<br class="typebreak"/>
&lt; <a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a9853dbb126509c8322522f73033cefe8">DominanceAnalysisAdapter</a><code> [get]</code></td></tr>
<tr class="memdesc:a9853dbb126509c8322522f73033cefe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">An adapter suitable for dominance analysis  <a href="#a9853dbb126509c8322522f73033cefe8">More...</a><br/></td></tr>
<tr class="separator:a9853dbb126509c8322522f73033cefe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class represents a basic block. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">Ti</td><td>Data type of instructions inside the basic block.</td></tr>
  </table>
  </dd>
</dl>
<div class="typeconstraint">
<dl><dt><b>Type Constraints</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em>Ti</em></td><td>&#160;:</td><td valign="top"><em><a class="el" href="interface_system_sharp_1_1_analysis_1_1_i_instruction.html">IInstruction</a></em></td><td>&#160;</td></tr>
</table>
</dl>
</div>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00781">781</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a70f3752c2fd12a65e99524dc66b6729c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.BasicBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>startIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>endIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ControlFlowGraph&lt; Ti &gt;&#160;</td>
          <td class="paramname"><em>cfg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructs a basic block covering a specific instruction range </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">startIndex</td><td>index of first instruction covered by basic block</td></tr>
    <tr><td class="paramname">endIndex</td><td>index of last instruction covered by basic block</td></tr>
    <tr><td class="paramname">cfg</td><td>containing control-flow graph</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00934">934</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a00dd1c800eac73e9fcbc841d79e8eeba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.BelongsToLoop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td>
          <td class="paramname"><em>header</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests whether this basic block is part of a particular loop </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">header</td><td>loop, specified by its header</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether this basic block is part of specified loop</dd></dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01108">1108</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a4fd33548c71adfa89d4cca8efb46e271"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.CompareTo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compares this basic block to another basic block. The ordering is defined by the indices of their respective first instructions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>some other basic block</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if this basic block comes before other basic block, 0 if they are the same, 1 is this basic block comes after other basic block</dd></dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01075">1075</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ad54059581bb0be7c3c52a013eef6ff8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Contains </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests whether this basic block contains a particular instruction </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>instruction index</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether this basic block contains the instruction with specified index</dd></dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01123">1123</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a886b4d59386e6bdbcb8ddf8f90b693c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Contains </td>
          <td>(</td>
          <td class="paramtype">Ti&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests whether this basic block containts a particular instruction </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>an instruction</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether this basic block contains the specified instruction</dd></dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01133">1133</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a07b2c5c44b52665d98b11b8b73a18852"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Equals </td>
          <td>(</td>
          <td class="paramtype">object&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Two basic blocks are defined to be equal iff they belong to the same control-flow graph and cover the same range of instructions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>another object</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether other instance equals this instance</dd></dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01047">1047</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a54c70d10ce5125eb299ff875d03e5972"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override int SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.GetHashCode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01063">1063</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a770230421053ee8d80cdd39713048020"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsAncestor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt; Ti &gt;&#160;</td>
          <td class="paramname"><em>grandChild</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests whether this basic block is an ancestor of another block, due to the pre-order traversal tree </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">grandChild</td><td>another basic block</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether this basic block is an ancestor of specified basic block</dd></dl>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01143">1143</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a28278ffc6dd03e7a340e639d1dee9f07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override string SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.ToString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00986">986</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="ab96b8d8bf58941a1f56d04ba78c829b5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">HashSet&lt;<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; &gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.BackPreds</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>As defined in Havlak's paper on loop analysis </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00897">897</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ad60f1e3b100f59dae59e65dcd745bb93"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ControlFlowGraph&lt;Ti&gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Code</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Containing control-flow graph </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00798">798</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a9853dbb126509c8322522f73033cefe8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">IGraphAdapter&lt;<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; &gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.DominanceAnalysisAdapter</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>An adapter suitable for dominance analysis </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01179">1179</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a670bdf1c77b9c258deb6f544d4881f37"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; [] SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Dominatees</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>All basic blocks whose immediate dominator is this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00854">854</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a054568c8ecb4d624a6be300e35d378a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.EndIndex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Index of last instruction covered by this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00793">793</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a491f9d126ee268ef1e11159b41d52a3d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Header</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>If this basic block is part of a loop, that loop is identified by its header. </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00917">917</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a3754c24b7b0c640000e578aa76499a51"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IDom</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The immediate dominator of this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00849">849</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a22b1a896f0e0024cf1862bc2456f8881"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsBranch</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block ends with a branch </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00829">829</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ac96e58cf13883f8077e7cc14a2c7b0d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsCondition</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block end with a conditional branch </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00824">824</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a5aeb4937fce0d0b2b17cbe7ab4ef74e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsExitBlock</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block is an exit node </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00803">803</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a54099b4771f08e3b99dbdde6e1679692"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsLoop</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block is a loop header </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00809">809</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a27e2c50074ab7d8b4fcf33d067e18583"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsReachable</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block is reachable from the entry point </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00817">817</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="abbfa7a5a97d1651ee1a549dbf8f3e77c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsSwitch</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block ends with a switch (case select) instruction </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00834">834</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a6e0d65fba34e0bec24c8a14ecb82ac7e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.IsSwitchTarget</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells whether this basic block is directly reachable from a switch (case select) instruction </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00839">839</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a485428f35d6f9856fadc63225ad77b4b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">IGraphAdapter&lt;<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; &gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.LoopAnalysisAdapter</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>An adapter suitable for loop nesting analysis </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01152">1152</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a668fa90ea4a56f57f3a81ef1e79ba458"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">HashSet&lt;<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; &gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.NonBackPreds</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>As defined in Havlak's paper on loop analysis </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00902">902</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ae26395b70e723fd9af0f68b9731fe0be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">HashSet&lt;<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; &gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.OtherIn</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>As defined in Havlak's paper on loop analysis </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00912">912</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aff21c7688ca2d29c06dbcc5f51cb4500"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; [] SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.PostOrderChildren</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The children of this block in the post-order traversal tree </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00882">882</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a0cf9019a58e1f1c0f4caf17e403bee29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.PostOrderIndex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Post-order index of this basic block </p>
<p>The post-order index is determined by post-order traversal of the control-flow graph. See <a href="http://en.wikipedia.org/wiki/Tree_traversal">http://en.wikipedia.org/wiki/Tree_traversal</a> </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00863">863</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a1bf8398a40f76af3aaa5d1e8c6e191cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.PostOrderParent</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The parent of this block in the post-order traversal tree </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00877">877</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a87e111ff8d18316a144d1dd53494da5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; [] SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Predecessors</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>All predecessors of this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00844">844</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a0bb5bfe894feb982b5a47d73fab546d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.PreOrderIndex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pre-order index of this basic block </p>
<p>The pre-order index is determined by pre-order traversal of the control-flow graph. See <a href="http://en.wikipedia.org/wiki/Tree_traversal">http://en.wikipedia.org/wiki/Tree_traversal</a> </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00872">872</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="ad5a3a11a9d2d6864c62dde1f0d5d717a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.PreOrderLast</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The last basic block visited during pre-order traversal. See Cooper-Harvey-Kennedy paper for formal definition. </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00887">887</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aace9afffdd01600cea179b5f90559baa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">IList&lt;Ti&gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Range</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the instruction range covered by this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00945">945</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a0a875ad973df0908a23ad65b8827748c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">HashSet&lt;<a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; &gt; SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.RedBackIn</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>As defined in Havlak's paper on loop analysis </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00907">907</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a5597d747f1ee9ac6cc8ba953c3a4c33f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.StartIndex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Index of first instruction covered by this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00788">788</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="aa90bb5471752d8d1dae672331bce9af5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; [] SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Successors</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns all possible direct successors of this basic block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00995">995</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a2686433714befeea54b07462970fbd67"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; [] SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.SuccessorsWithoutExitBlock</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns all possible direct successors of this basic block, except for the exit block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01027">1027</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a221d1802dd014e577fb9951eeae6478d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html#a70f3752c2fd12a65e99524dc66b6729c">BasicBlock</a>&lt;Ti&gt; [] SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.SuccessorsWithoutSwitchTargets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns all possible direct successors of this basic block, except for switch targets and the exit block </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l01008">1008</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="abd22ec58d71d9e45597a7c561b0df235"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_system_sharp_1_1_tree_algorithms.html#a42c198b43d26b1f8b998dd6ce93c8d34">ENodeType</a> SystemSharp.Analysis.BasicBlock&lt; Ti &gt;.Type</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Loop header classification due to Havlak's loop analysis algorithm </p>

<p>Definition at line <a class="el" href="_controlflow_analysis_8cs_source.html#l00892">892</a> of file <a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_controlflow_analysis_8cs_source.html">ControlflowAnalysis.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_system_sharp.html">SystemSharp</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_analysis.html">Analysis</a></li><li class="navelem"><a class="el" href="class_system_sharp_1_1_analysis_1_1_basic_block_3_01_ti_01_4.html">BasicBlock< Ti ></a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:51 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
